Tag: python

如何在Python中joinexcel列名与数据框头?

我有一个示例数据框,如: adf = [['A', 'C', 'G'],['cat','dog','swine'],['black','ginger','pink']]` pdf = pd.DataFrame.from_records(adf[1:], columns = adf[0]) Out[375]: ACG 0 cat dog swine 1 black ginger pink 我需要将其保存到Excel工作表中,但要考虑要编写哪些Excel列。 也就是说,我需要一些东西,比如将pdf列名与Excel中的列名完全一样。 以下解决scheme不保存在适当的列中,而是从左到右: from openpyxl.utils.dataframe import dataframe_to_rows workbook = openpyxl.load_workbook('map_df.xlsx') ws = workbook.worksheets[0] for r in dataframe_to_rows(pdf, index=False, header=False): ws.append(r) workbook.save("appended.xlsx") 请注意,我加载了一个现有的工作簿。 我有第一行标题,所以我写数据无头。 我问的方法是通过标题相互映射列,而无需手动写入,删除空白等,因为我有真正的巨大数据。 所以猫到A列,猪到G , B或D不应该被填满。 例子:

Python:统计Excel数据表中空单元的数量

我相对比较新的Python,我试图计算一个Excel表格中充满数据的空单元格的数量。 为了testing程序,我一直在删除一些值,以便单元格为空:我的代码在下面 import xlrd import pandas as pd import openpyxl df = pd.read_excel('5train.xls') workbook = xlrd.open_workbook('5train.xls') worksheet = workbook.sheet_by_name('5train') #Task starts here empty = 0 row_data = worksheet.nrows – 1 row = 0 cell = 0 while row < row_data: if worksheet.cell(0, 0).value == xlrd.empty_cell.value: empty += 1 cell += 1 else: pass row += […]

在读完整个Excel文件之前,大pandas会早退

我正在尝试将Python excel文件读入Pandas,访问每行的特定列,然后将地址编码为坐标。 然后把它们写入一个csv 地理编码部分工作良好,据我所知,我的循环开始好的地方,它可以读取地址。 然而,它只是停止22行。 我不知道为什么,我一直在使用pandas这个相同的Excel文件的东西,它没有问题。 只是做这个,不是那么多。 它有27K行。 打印data.__len__()给我27395 。 任何帮助? ##### READ IN DATA file = r'rollingsales_manhattan.xls' # Read in the data from the Excel data = pd.read_excel(file) # g = geocoder.osm(str(data['ADDRESS'].iloc[0]) + " New York City, NY " + str(data['ZIP CODE'].iloc[0])) with open("geotagged_manhattan.csv", 'wb') as result_file: wr = csv.writer(result_file) for index,d in enumerate(data): […]

Python的CSV作家不创build多个列

我只是试图从列表中创buildCSV文件。 以下是示例代码: import csv def funcc(data): with open("sample.csv", "wb") as f: writer = csv.writer(f) writer.writerows(data) if __name__ == "__main__": data = [['id', 'name', 'score'], ['1', 'john', '2332'], ['2', 'ned', '1213'], ['3', 'rob', '8343']] funcc(data) 这将创build输出,但一切都在一列。 我尝试过使用csv.writer(f, delimiter=',')和csv.writer(f, dialect='excel') ,正如许多SO答案中提到的,但似乎没有任何工作。 输出保持不变: 有什么我失踪或不正确?

在for循环中剥离扩展

我试图剥离.csv扩展名,以便该文件只保存为name.xslx而不是name.csv.xlsx但这似乎并没有工作。 我将不胜感激一些帮助。 谢谢。 import os import glob import csv import openpyxl import os.path #convert the csv to xslx for csvfile in glob.glob(os.path.join('.', '*.csv')): wb = openpyxl.Workbook() ws = wb.active with open(csvfile, 'rb') as f: reader = csv.reader(f) for r, row in enumerate(reader, start = 1): for c, val in enumerate(row, start = 1): ws.cell(row = […]

Python – 用Excel中的数据填充表MSSQL

我有一个xlsx文件,4列和68k +行。 我想把所有的数据放在MSSQL服务器的表中。 我做的。 def jb_treat_attributes(dicoval): conn = pymssql.connect(dicoval['MSSQL_erver'],dicoval['MSSQL_Login'],dicoval['MSSQL_Password'],dicoval['MSSQL_Database_DELTA']) cursor = conn.cursor() cursor.execute('TRUNCATE TABLE delta.Attribute') for row in load_workbook(dicoval['path_root']+'Delta/attributes/excel.xlsx').worksheets[0].iter_rows(): row = [cell.value.strip() if cell.value is not None else '' for cell in row] cursor.execute("INSERT INTO delta.Attribute VALUES (%s,%s,%s,%s)",(row[0],row[1],row[2],row[3])) conn.commit() conn.close() 它的工作,但有340的执行时间。 它存在一个更快的方法吗?

没有模块命名为xlutils.copy,点安装失败

我得到一个错误消息,说:“没有模块名为xlutils.copy”。 当我需要做xiptils.copy的pip安装时,我收到一条错误消息“找不到满足要求的版本”。 我下载了包含xlutils.copy的xlutils 2.0.0,但是我不确定它是否需要放在某个目录中? from xlrd import open_workbook from xlutils.copy import copy rb = open_workbook('Excel FDT Master_01_update.xlsx') wb = copy(rb) s = rb.sheet_by_name('INPUT') r = 5 for test in col_test: s.cell(rowx = r, colx = 1).value = test r += 1 wb.save('comeonenow.xls')

从excel文件读取大十进制值

我必须从包含大十进制值的Excel文件中提取数据。 我曾尝试通过xlrd和pandas读取它们,但两种情况下都是相同的错误。 from xlrd import * import decimal workbook =open_workbook('C:\Users\KRISHNA\Desktop\ERIAN\Data\TARGET-AREA.xlsx') 错误 (unicode错误)“unicodeescape”编解码器无法解码位置2-3中的字节:截断\ UXXXXXXXX转义 在这个开始阶段,只有我得到了错误。

在pandas read_excel中获取Excell单元格背景颜色?

我有一个带有背景颜色的单元格的Excel文件。 我正在用read_excel将该文件读入pandas 。 有没有办法获得单元格的背景颜色?

Excel的正则expression式,或导出到Python? ; Python中的“Vlookup”?

我们有一个包含人员logging的工作表的Excel文件。 1.电话号码卫生 其中一个字段是电话号码字段,其中包含格式的电话号码,例如: +XX(Y)ZZZZ-ZZZZ (其中X,Y和Z是整数)。 还有一些数字较less的logging,例如: +XX(Y)ZZZ-ZZZZ 还有其他一些非常糟糕的格式: +XX(Y)ZZZZ-ZZZZ / ZZZZ 要么: ZZZZZZZZ 我们需要将这些全部消毒到格式: 0YZZZZZZZZ (or OYZZZZZZ with those with less digits). 2.填写主pipe详细信息 每个人也有一个主pipe,作为一个数字ID。 我们需要做一个查询来获得该pipe理员的姓名和电子邮件地址,并将其添加到该行。 这种查找将首先在同一张工作表上(即search自己),然后可以更多的人回退到另一个工作簿。 3.方法? 对于第一个问题,我想以某种方式在Excel / VBA中使用正则expression式来进行parsing。 我的Excel-fu不是最好的,但是我想我可以学习……哈哈。 这一点上的任何特定的点? 但是,我最好将XLS导出为CSV(例如使用xlrd),然后使用Python修复电话号码? 对于第二种方法,我想在Excel中使用vlookups来拉取数据,并且在某种程度上让它陷入困境,首先search自己,然后在外部工作簿上input错误文本。 不知道如何做最后一部分。 但是,如果我碰巧select导出为CSV并在Python中执行,那么执行vlookup的有效方法是什么? (我应该转换为字典,还是只是迭代?还是有一个更好的或更习惯的方式?) 干杯,维克多