Python 将多个形状文件的属性导出到文本文件

Python 将多个形状文件的属性导出到文本文件,python,text,arcgis,arcpy,Python,Text,Arcgis,Arcpy,我正在尝试将一个文件夹中包含的多个shapefile的属性导出到一个文本文件中。我编写了下面的代码来实现这一点,但它只是将文件名导出到文本文件中。你知道我做错了什么吗?我已经进行了一段时间的故障排除和研究 import arcpy from arcpy import env arcpy.env.workspace = "C:\\user\\rainfiles" table = "C:\\user\\rain_files" outWorkspace = "C:\\user" fclist = a

我正在尝试将一个文件夹中包含的多个shapefile的属性导出到一个文本文件中。我编写了下面的代码来实现这一点,但它只是将文件名导出到文本文件中。你知道我做错了什么吗?我已经进行了一段时间的故障排除和研究

import arcpy
from arcpy import env

arcpy.env.workspace = "C:\\user\\rainfiles"
table = "C:\\user\\rain_files"
outWorkspace = "C:\\user"
fclist = arcpy.ListFields(table)
field_names = [field.name for field in fclist] 
for field in fclist:
    with open(r'C:\\user\\Exports.txt', 'w') as f:
        for field in fclist:
            f.write(field + '\n')
with open(r'C:\\user\\Exports.txt', 'r') as f:
    w = csv.writer(f) 
    w.writerow(field_names)            
    for row in arcpy.SearchCursor(table):  
        field_vals = [row.getValue(field.name) for field in fclist]  
        w.writerow(field_vals)
    del row  
这里有一个方法:

import arcpy
import csv

f = open(r'C:\\user\\Exports.txt', 'w')
w = csv.writer(f, lineterminator='\n')

arcpy.env.workspace = "C:\\user\\rainfiles"

shapefileList = arcpy.ListFeatureClasses("*.shp")
for table in shapefileList:
    f.write("Shapefile:\n")
    f.write(table + "\n")
    fieldList = arcpy.ListFields(table)
    field_names = [field.name for field in fieldList]
    w.writerow(field_names)
    for row in arcpy.SearchCursor(table):
        field_vals = []
        for field in fieldList:
            val = row.getValue(field.name)
            # See if it's a geometry field; if so, use WKT
            try:
                val = val.WKT
            except AttributeError:
                # It's not a geometry, and that's okay
                pass
            field_vals.append(val)
        w.writerow(field_vals)

什么是C:\user\rain\u文件?目录中是否充满了shapefile?如果是这样的话,ListFields对它来说是无效的。应在要素类(如shapefile)上调用ListFields。请编辑您的问题并添加一个您希望看到的输出示例,好吗?我非常困惑,尤其是调用
ListFields
和fclist循环中另一个
for-fieldin-fclist
循环中的
for-field时。