- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
尝试将 .xlsx 文件导入 Python。我有谷歌和谷歌。我编写了这段代码并为 .csv 工作,但它需要用于 .xlsx 文件。所以我基本上拼凑起来做了一个冰雹玛丽,希望它能奏效。非常感谢任何帮助!
** 添加了我的整个代码和数据文件的片段。我需要它来导入 .xlsx 并执行数据。
import xlrd
workbook = xlrd.open_workbook('GAT_US_PartReview_2017-06-23.xlsx')
worksheet = workbook.get_sheet(0, update_pos=True)
header = []
report_card = []
# Count Stmnts for Required Data
valid_count = 0
app_req_count = 0
intr_req_count = 0
oe_intr_req_count = 0
part_img_req_count = 0
upc_req_count = 0
unspsc_req_count = 0
msds_req_count = 0
# Count Stmts for Missing Data
missing_app_count = 0
missing_intr_count = 0
missing_oe_intr_count = 0
missing_mpcc_count = 0
missing_attr_values_count = 0
missing_part_img_count = 0
missing_upc_count = 0
missing_warr_text_count = 0
missing_warr_pdf_count = 0
missing_unspsc_count = 0
missing_msds_count = 0
for row_num, row in enumerate(worksheet):
if row_num <= 4:
# print(row) # Print out the header
header.append([row[0], row[2]])
else:
hq_line, part_no, part_class, appl_req, appl_count, intr_req,
intr_count, oe_intr_req, has_oe_intr, has_attr_editor,
has_attr_values, part_img_req, has_part_img, has_mpcc, warr_req,
has_warr_txt, has_warr_pdf, msds_req, has_msds, upc_req, has_upc,
has_unspsc, attr_count, attrval_count, valid_part = row
if valid_part == 'YES':
valid_count += 1
# Required Parts Count
if appl_req == 'YES':
app_req_count += 1
if intr_req == 'YES':
intr_req_count += 1
if oe_intr_req == 'YES':
oe_intr_req_count += 1
if part_img_req == 'YES':
part_img_req_count += 1
if upc_req == 'YES':
upc_req_count += 1
if msds_req == 'YES':
msds_req_count += 1
# Missing Data Counts
if appl_req == 'YES' and appl_count == '0':
missing_app_count += 1
if intr_req == 'YES' and intr_count == '0':
missing_intr_count += 1
if oe_intr_req == 'YES' and has_oe_intr == '0':
missing_oe_intr_count += 1
if has_mpcc == 'NO':
missing_mpcc_count += 1
if has_attr_values == 'NO':
missing_attr_values_count += 1
if has_part_img == 'NO':
missing_part_img_count += 1
if upc_req == 'YES' and has_upc == '0':
missing_upc_count += 1
if warr_req == 'YES' and has_warr_txt == 'NO':
missing_warr_text_count += 1
if warr_req == 'YES' and has_warr_pdf == 'NO':
missing_warr_pdf_count += 1
if has_unspsc == 'NO':
missing_unspsc_count += 1
if msds_req == 'YES' and has_msds == 'NO':
missing_msds_count += 1
# Statements for Required Counts
valid_parts = ('Number of Valid Parts: ', '{:,}'.format(valid_count))
application_required = ('Application Records Required: ',
'{:,}'.format(app_req_count))
interchange_required = ('Interchange Records Required: ',
'{:,}'.format(intr_req_count))
oe_interchange_required = ('OE Interchange Records Required: ',
'{:,}'.format(oe_intr_req_count))
mpcc = ('MPCC Required: ', '{:,}'.format(valid_count)) # Every valid part
requires a MPCC
attributes = ('Attributes Required: ', '{:,}'.format(valid_count)) # Every
valid part requires attributes
image_required = ('Image Required: ', '{:,}'.format(part_img_req_count))
upc = ('UPC Requited: ', '{:,}'.format(upc_req_count))
warranties = ('Warranty Text/PDF Required: ', '{:,}'.format(valid_count)) #
Require warranty text/pdf on all parts
unspsc = ('UNSPSC Code Required: ', '{:,}'.format(valid_count)) # Require
UNSPSC Codes for all parts
msds = ('MSDS Required: ', '{:,}'.format(msds_req_count))
# Statements for Missing Counts
missing_applications = ('Missing Applications: ',
'{:,}'.format(missing_app_count))
missing_interchange = ('Missing Interchange: ',
'{:,}'.format(missing_intr_count))
missing_oe_interchange = ('Missing OE Interchange: ',
'{:,}'.format(missing_oe_intr_count))
missing_mpcc = ('Missing MPCC: ', '{:,}'.format(missing_mpcc_count))
missing_attributes = ('Missing Attributes: ',
'{:,}'.format(missing_attr_values_count))
missing_image = ('Missing Image: ', '{:,}'.format(missing_part_img_count))
missing_UPC = ('Missing UPC: ', '{:,}'.format(missing_upc_count))
missing_warranty_text = ('Missing Warranty Text: ',
'{:,}'.format(missing_warr_text_count))
missing_warranty_pdf = ('Missing Warranty PDF: ',
'{:,}'.format(missing_warr_pdf_count))
missing_unspsc = ('Missing UNSPSC Code: ',
'{:,}'.format(missing_unspsc_count))
missing_msds = ('Missing MSDS: ', '{:,}'.format(missing_msds_count))
# CSV Output
report_card.append(valid_parts)
report_card.append(application_required)
report_card.append(interchange_required)
report_card.append(oe_interchange_required)
report_card.append(mpcc)
report_card.append(attributes)
report_card.append(image_required)
report_card.append(upc)
report_card.append(warranties)
report_card.append(unspsc)
report_card.append(msds)
report_card.append(missing_applications)
report_card.append(missing_interchange)
report_card.append(missing_oe_interchange)
report_card.append(missing_mpcc)
report_card.append(missing_attributes)
report_card.append(missing_image)
report_card.append(missing_UPC)
report_card.append(missing_warranty_text)
report_card.append(missing_warranty_pdf)
report_card.append(missing_unspsc)
report_card.append(missing_msds)
for row in header:
print(row)
for x in report_card:
print(x)
with open('Report_Card.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerows(header)
writer.writerows(report_card)
CSV 文件:
Supplier Line:,,Gates Rubber - Denver (GAT),,,,,,,,,,,,,,,,,,,,,,
Summary:,,Parts HQ Abbr,,,,,,,,,,,,,,,,,,,,,,
ACCT No:,,40013586,,,,,,,,,,,,,,,,,,,,,,
RecCount:,,10221,,,,,,,,,,,,,,,,,,,,,,
Applicable Date:,,"June 14, 2017 (Wednesday)",,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
HQ Line,Part No,Part Class,Appl Req,Appl Count ,Intr Req,Intr Count ,OE Intr Req,Has OE Intr,Has Attr Editor, Has Attr Values,Part IMG Req,Has Part IMG,Has MPCC,Warr Req,Has Warr TXT,Has Warr PDF,MSDS Req,Has MSDS,UPC Req,Has UPC,Has UNSPSC,Attr Count ,AttrVal Count ,Valid Part
GAT,'27210',S,NO,0,YES,1,YES,NO,YES,YES,YES,YES,YES,YES,YES,YES,NO,NO,YES,YES,YES,30,13,YES
GAT,'27211',O,NO,0,YES,1,YES,NO,YES,YES,YES,YES,YES,YES,YES,YES,NO,NO,YES,YES,YES,30,14,YES
GAT,'27212',S,NO,0,YES,1,YES,NO,YES,YES,YES,YES,YES,YES,YES,YES,NO,NO,YES,YES,YES,30,13,YES
GAT,'27213',S,NO,0,YES,1,YES,NO,YES,YES,YES,YES,YES,YES,YES,YES,NO,NO,YES,YES,YES,30,13,YES
GAT,'27220',S,NO,0,YES,2,YES,NO,YES,YES,YES,YES,YES,YES,YES,YES,NO,NO,YES,YES,YES,35,20,YES
GAT,'27221',S,NO,0,YES,2,YES,NO,YES,YES,YES,YES,YES,YES,YES,YES,NO,NO,YES,YES,YES,35,20,YES
最佳答案
由于它是一个 Excel 工作簿对象而不仅仅是一个 .CSV 文件,因此您的工作簿对象由工作表组成。因此,首先您必须获取要使用的工作表,然后需要通过调用 sheet.get_rows() 获取行
下面的代码应该可以工作,我在本地测试过。
import xlrd
book = xlrd.open_workbook('GAT_US_PartReview_2017-06-23.xlsx')
header = []
report_card = []
# Count Stmnts for Required Data
valid_count = 0
app_req_count = 0
intr_req_count = 0
# Count Stmts for Missing Data
missing_app_count = 0
missing_intr_count = 0
missing_oe_intr_count = 0
sheet = book.sheets()[0]
for row_num, row in enumerate(sheet.get_rows()):
if row_num <= 4:
# print(row) # Print out the header
header.append([row[0], row[2]])
print(header)
关于python - 使用 xlrd 将 xlsx 文件导入 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44895634/
xlrd 模块可以更改文件属性吗?如作者、标题、主题等。 我想更改 .xls 文件的属性,但不知道该怎么做。 最佳答案 据我所知,xlrd 是不可能的. rd名称的一部分表示“只读”。您需要使用 xl
我正在尝试使用 xlrd 操作 .xls 文件,如下所示: >>> import xlrd >>> workbook = xlrd.open_workbook('6h.xls') 我得到: Trace
我想将一个 excel 范围分配给一个变量: import xlrd file = r"C:\Users\Lisa\Desktop\Frank\export.XLSX" book = xlrd.ope
import xlrd wb = xlrd.open_workbook("file.xls") wb.sheet_names() sh = wb.sheet_by_index(0) for item
根据XLRD模块的文档, row_values(rowx, start_colx=0, end_colx=None) “返回给定行中单元格值的一部分。” 并给出以下 python 代码: impor
我有特定结构的 exel 文件。第一行是标题,第二行是名称,最后一行是值。我只需要标题和值,如果 Excel 文件只有 3 行,这并不难,但它可以是 100 行和列,我只需要获取标题和值,而不是任何名
我正在尝试编写一个 python 程序,用于使用 xlrd 和 xlwt 将 csv 文件中的实时股票报价附加到 excel 文件(已打开)。 任务概述如下。 从我的股票经纪人应用程序中,我的硬盘上不
嗨,我刚刚拿起 xlrd。关于访问工作表和单元格属性,我指的是Xlrd Column 那里的代码显示。 for crange in thesheet.col_label_ranges: rlo
我有一个脚本,如果我传递文件名,我就可以打开文件,但现在文件的数量正在增加,并且必须在每个文件上单独运行该脚本是没有意义的。所以我决定让python读取目录中的所有文件。 for root, dirs
我有一个具有以下结构的电子表格(数据从 B 列开始。A 列为空) A B C D Name city salary J
我正在使用 xlrd 和 python 来提取 Excel 数据,一切都很好,数据提取也很好,但代码只提取最后一行数据。 这是我的 Excel +-------------------+-------
我是 python 的新手,我正在尝试读取 .xls 文件并查看每行的第一列以查看它是否与我的变量匹配。我不确定我做错了什么,希望有人可以帮助我。我的最终目标是找到第一列中以此变量开头的每一行,然后删
我在 API 中找不到任何内容。有没有办法根据字符串匹配返回单元格的行号或坐标?例如:您给脚本一个字符串,它会扫描整个 .xls 文件,当它找到具有匹配字符串的单元格时,它会返回坐标或行号。 最佳答案
在 Python 中使用 XLRD 从 Excel 中读取。 简单的场景。我有一个带有值的单元格,它与命名范围相关联。 NamedRange "Foo"= Sheet1!$A$1A1中的值为“Bar”
有没有办法处理程序中的xlrd错误?我对数以千计的 excel 文件有一个复杂的问题。我正在尝试解析文件列表,打开每个电子表格并确定电子表格是否具有特定的选项卡或工作表。使用匹配的工作表名称创建一个新
我正在尝试从 xls 文件中读取一个长数字 (6425871003976),但 python 在将其读取为数字而不是字符串 (6.42587100398e+12) 之前一直在中继它。有什么方法可以直接
我正在使用 xlrd 读取 xls 文件。问题是,当 xlrd 读取这样的值时 "12/09/2012",我得到这样的结果 "xldate:41252.0"。当我使用 xlrd.xldate_as_t
我在 xlrd 中从 Excel 中读取特定单元格值时遇到困难。我正在读取的任何值(日期值)都将转换为数字。我知道有将其转换为 python 日期格式的解决方案,但我可以直接读取 xlrd 中的字符串
我使用 pip3 install 安装了 pandas 和 matplotlib。然后我运行了这个脚本: import pandas as pd import matplotlib.pyplot as
先用xlrd读excel文件--》book对象a 拿到指定的sheet页 xlrd对象 用xlutils copy 的copy方法复制 a得到b 通过判断a的列值,来修改b 保存b 得到结果
我是一名优秀的程序员,十分优秀!